import { ref, h, render } from 'vue'
// import { useRouter } from "vue-router";
import { ElMessage } from "element-plus";
import ErrorDialog from '@/components/ErrorDialog.vue'
import { useUserStore } from "@/pinia";

// const message = ElMessage;

const dialogVisible = ref(false)
export async function handleApiResponse(apiMethod) {
    // const router = useRouter();
    const useStore = useUserStore();

    let res = await apiMethod()
    // console.log(res);

    if (res.code == 0) {
        return res;
    } else if (res.code == -1506) {
        // console.log('登录失效，请重新登录', res);
        ElMessage.error('登录失效，请重新登录');
        useStore.logout()
        return res
    } else if (res.code == 100000) {
        ElMessage.error(res.msg);
        return res
    } else {
        console.error('报错啦', res);
        ElMessage.error(res.msg)
        return res;
    }

    return
    try {
        const res = await apiMethod()

        // dialogVisible.value = true
        // // 创建容器并渲染
        // const container = document.createElement('div')
        // document.body.appendChild(container)
        // render(
        //     h(ErrorDialog, {
        //         dialogVisible: dialogVisible.value,
        //         /* 其他props */
        //     }),
        //     container
        // )

        if (res.code == 0) return res

        if (res.code == -1506) {
            console.error('登录失效，请重新登录');
            useStore.logout()
            return res
        }

        if (res.code == 100000) {
            console.error('请求结果', res);
            return res
        }

        ElMessage.error('直接报错', res);
        return res;
    } catch (error) {
        console.error('请求出错:', error);
    }
}

// 创建错误提示
const createErrorComponent = (message, type = 'error') => {
    return () => h('div', { style: { color: 'red' } }, message)
}